/**
 * @file yzh_resource.js
 * @description 资源管理相关API接口(yzh_resource表)
 * @created 2024-07-14
 */

import request from '@/utils/request'

export const yzhResourceAPI = {
  /**
   * 获取资源列表
   * @param {Object} params - 查询参数
   * @returns {Promise} API响应
   */
  getResourceList(params) {
    return request.get('/api/admin/yzh-resources', { params })
  },

  /**
   * 获取资源详情
   * @param {number} id - 资源ID
   * @returns {Promise} API响应
   */
  getResourceById(id) {
    return request.get(`/api/admin/yzh-resources/${id}`)
  },

  /**
   * 创建新资源
   * @param {Object} data - 资源数据
   * @returns {Promise} API响应
   */
  createResource(data) {
    return request.post('/api/admin/yzh-resources', data)
  },

  /**
   * 更新资源信息
   * @param {number} id - 资源ID
   * @param {Object} data - 资源数据
   * @returns {Promise} API响应
   */
  updateResource(id, data) {
    return request.put(`/api/admin/yzh-resources/${id}`, data)
  },

  /**
   * 删除资源
   * @param {number} id - 资源ID
   * @returns {Promise} API响应
   */
  deleteResource(id) {
    return request.delete(`/api/admin/yzh-resources/${id}`)
  },

  /**
   * 上传资源文件
   * @param {FormData} formData - 包含文件的表单数据
   * @returns {Promise} API响应
   */
  uploadResourceFile(formData) {
    return request.post('/api/admin/yzh-resources/upload', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  /**
   * 获取资源分类列表
   * @returns {Promise} API响应
   */
  getResourceCategories() {
    return request.get('/api/admin/yzh-resource-categories')
  },
  
  /**
   * 下载资源文件
   * @param {number} id - 资源ID
   * @returns {string} 下载链接
   */
  getDownloadUrl(id) {
    return `${request.defaults.baseURL}/api/admin/yzh-resources/download/${id}`
  }
} 